import Vue from "vue";

import Cookies from "js-cookie"; // 引入第三方Cookies插件

import "normalize.css/normalize.css"; // CSS重置的现代替代方法（css初始化）

import Element from "element-ui"; // 引入element框架
import "./styles/element-variables.scss";

import "@/styles/index.scss"; // 全局css

import App from "./App"; // 查询机制 App文件夹 --> App.js --> App.vue
import store from "./store";
import router from "./router";

import i18n from "./lang"; // 国际化
import "./assets/icons"; // 图标
import "./router/permission"; // 路由守卫（权限控制）

import * as filters from "./filters"; // 全局过滤器

/**
 * 如果您不想使用模拟服务器
 * 您想将MockJs用于模拟api
 * 您可以执行：mockXHR（）
 *
 * 目前，MockJs将用于生产环境，
 * 请先删除它，然后再上网！ ！ ！
 */
// if (process.env.NODE_ENV === 'production') {
//   const { mockXHR } = require('../mock')
//   mockXHR()
// }

Vue.use(Element, {
  size: Cookies.get("size") || "medium", // 获取 element-ui 预设尺寸
  i18n: (key, value) => i18n.t(key, value) // 使用 element-ui 国际化
});

// 注册全局实用程序过滤器
Object.keys(filters).forEach(key => {
  Vue.filter(key, filters[key]);
});

Vue.config.productionTip = false;

// 挂载拼接图片url方法
// import { ImgUrl } from "./utils/util.js";// 引入方法
// Vue.prototype.ImgUrl = ImgUrl; // 全局挂载

// mixin公共抽离方法（全局使用）
import utils from "./utils/utils";
Vue.mixin(utils)

new Vue({
  el: "#app",
  router,
  store,
  i18n,
  render: h => h(App)
});
